Embodiments relate to multi-processor environments, and more specifically, to a method for mitigating conflicts for shared cache lines to allow forward progress among processors in a multi-processor transactional execution environment.
In a multi-processing system, memory usage among different processors is managed based on various ownership states for a cache line. The states include read-only or shared and exclusive. In the read-only state, a certain processor has read access but not store access to a cache line. In a shared state, two or more processors may have read access to the cache line. In the exclusive state, a certain processor has the sole and explicit update rights to the cache line (i.e., “store access”).